/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author pson
 */
public class Main {

    public void init() {

        //Define resources
        Resource money = new Resource("Money", Resource.TYPE_NONE);
        Resource wheat = new Resource("Wheat", Resource.TYPE_FOOD);
        Resource wood = new Resource("Wood", Resource.TYPE_PRODUCTION);
        Resource furs = new Resource("Furs", Resource.TYPE_LUXURY);
        Resource stone = new Resource("Stone", Resource.TYPE_PRODUCTION);
        Resource fish = new Resource("Fish", Resource.TYPE_FOOD);
        Resource gold = new Resource("Gold", Resource.TYPE_LUXURY);

        //Define improvements
        Improvement town = new Improvement("Town", money, 50);
        Improvement city = new Improvement("City", money, 100);
        Improvement housing = new Improvement("Housing", money, 10);
        Improvement estate = new Improvement("Estate", money, 40);
        Improvement farm = new Improvement("Farm", wheat, 1);
        Improvement mill = new Improvement("Mill", wood, 1);
        Improvement lodge = new Improvement("Lodge", furs, 1);
        Improvement quarry = new Improvement("Quarry", stone, 1);
        Improvement boats = new Improvement("Boats", fish, 1);
        Improvement mine = new Improvement("Gold", gold, 1);

        //Define improvement costs
        housing.addCost(wood, 1);
        housing.addCost(stone, 1);
        farm.addCost(wood, 1);
        mill.addCost(wood, 1);
        lodge.addCost(stone, 1);
        quarry.addCost(wood, 1);
        boats.addCost(wood, 1);
        mine.addCost(stone, 1);

        //Define improvement upgrade paths
        housing.setUpgrades(new Improvement[]{estate});
        town.setUpgrades(new Improvement[]{city});

        //Define Terrain types
        Terrain plains = new Terrain("Plains", null, 0, new Improvement[]{housing, farm});
        Terrain forest = new Terrain("Forest", wood, 1, new Improvement[]{mill, lodge});
        Terrain mountain = new Terrain("Mountain", stone, 1, new Improvement[]{quarry, mine});
        Terrain water = new Terrain("Water", null, 0, new Improvement[]{});
        Terrain fish_water = new Terrain("Fishing Spot", fish, 1, new Improvement[]{boats});


    }
}
